1. Technical Field
The present invention relates generally to the field of systems for delivering multimedia content, and more particularly, but not exclusively, to a method and apparatus for delivering graphical information across a network.
2. Description of Related Art
It is desired to deliver rich and entertaining multimedia content to users across a network such as the Internet. However, there are technical restrictions concerning the transmission of data, such as bandwidth and delay. Also, there are difficulties regarding capabilities of the hardware devices that supply and receive the multimedia content, such as the need for specialised graphics hardware (e.g. a dedicated graphics processing unit (GPU)) and limitations on delivering content to multiple users simultaneously from the same source hardware.
As one example, US2005/104,889 of Clemie et al. shows that it is well known to deliver multimedia content from a server device to a client device over a network. Most often, a stream of audio and video (AV) data is provided, known as video-streaming. The client device can begin playback of initial portions of the AV data, e.g. to begin playing a video clip or movie, while still receiving other portions of the AV data to be played later. This AV data typically includes two-dimensional moving image data (2D video data), and many encoding and compression schemes have been developed in recent years, such as MPEG, to reduce the bandwidth required to carry such AV data and improve delivery of the content.
As well as delivering pre-made movies or other content that can be prepared in advance, it is also now desired to deliver games and games programs to be actively played on a client device. However, games generally are more technically challenging, because the game should respond to actions and commands by the user and each game session is usually unique to that user. As one option, a game is delivered on a physical carrier such as a CD or DVD optical disc, which the user must purchase and physically transport to a client device such as a games console. The purchased game can then be supplemented with additional content, such as additional characters, levels or missions. The additional content can be delivered across a network, either as a download package or by streaming. Another option, again as discussed in US2005/104,889, is to deliver game code (application code) to a client device across a network. Delivering the whole game takes a long time, but has proved to be a relatively acceptable approach in commercial systems. The game code can be streamed, so that game play can begin while later sections of a game are still being downloaded. In each case, the application code runs on the client device and the graphical data is rendered at the client device, which means that the client device must be relatively powerful and resourceful, like a PC or games console. Yet another option is to provide a centralised game server running the game code, while delivering a relatively lightweight stream of AV data to the client device (i.e. a video stream) which allows a greater range of client devices to participate in the delivery of rich multimedia content. Games and games programs generally still place intensive demands on the underlying hardware and network infrastructure. Even gaming based on video streaming places significant workload on the central server, and this workload increases yet further when serving tens or thousands of individual client devices. Hence, it is still desired to explore and develop other approaches to gaming.
It is known to deliver 3D graphical objects across a network. Generally, these 3D graphical elements represent an object as a geometric structure (such as a polygonal wire-frame geometry or mesh) with an overlying surface (texture). The 3D object data is then reconstructed by a renderer at the client device, to produce video images for a display screen. the video images are then typically output in combination with a coordinated audio stream. As one example, FAMC coding (Frame-based Animated Mesh Compression), has been proposed in the context of MPEG-4, to try to reduce bandwidth consumption for animated 3D graphical elements.
It is now desired to provide a multimedia content delivery system which addresses these, or other, limitations of the current art, as will be appreciated from the discussion and description herein.